home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / mdi / mdidmo / mdidraw.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1994-04-12  |  9.9 KB  |  304 lines

  1. VERSION 2.00
  2. Begin MDIForm frmMain 
  3.    Caption         =   "MDI Background Demo"
  4.    ClientHeight    =   5190
  5.    ClientLeft      =   1095
  6.    ClientTop       =   1770
  7.    ClientWidth     =   9165
  8.    Height          =   5880
  9.    Left            =   1035
  10.    LinkTopic       =   "MDIForm1"
  11.    Top             =   1140
  12.    Width           =   9285
  13.    Begin SSPanel pStatus 
  14.       Align           =   2  'Align Bottom
  15.       BevelInner      =   1  'Inset
  16.       Caption         =   "pStatus"
  17.       Font3D          =   3  'Inset w/light shading
  18.       Height          =   405
  19.       Left            =   0
  20.       TabIndex        =   9
  21.       Top             =   4785
  22.       Width           =   9165
  23.    End
  24.    Begin SSPanel Panel3D1 
  25.       Align           =   1  'Align Top
  26.       Height          =   2025
  27.       Left            =   0
  28.       TabIndex        =   8
  29.       Top             =   0
  30.       Width           =   9165
  31.       Begin MsgBlaster MsgBlaster1 
  32.          Prop8           =   "Click on ""..."" for the About Box ---->"
  33.          Left            =   4770
  34.          Top             =   990
  35.       End
  36.       Begin PictureBox Picture2 
  37.          AutoRedraw      =   -1  'True
  38.          AutoSize        =   -1  'True
  39.          BorderStyle     =   0  'None
  40.          Height          =   2880
  41.          Left            =   1410
  42.          Picture         =   MDIDRAW.FRX:0000
  43.          ScaleHeight     =   2880
  44.          ScaleWidth      =   3075
  45.          TabIndex        =   11
  46.          Top             =   990
  47.          Visible         =   0   'False
  48.          Width           =   3075
  49.       End
  50.       Begin PictureBox Picture1 
  51.          AutoRedraw      =   -1  'True
  52.          AutoSize        =   -1  'True
  53.          BorderStyle     =   0  'None
  54.          Height          =   810
  55.          Left            =   270
  56.          Picture         =   MDIDRAW.FRX:4466
  57.          ScaleHeight     =   810
  58.          ScaleWidth      =   840
  59.          TabIndex        =   10
  60.          Top             =   990
  61.          Visible         =   0   'False
  62.          Width           =   840
  63.       End
  64.       Begin OptionButton FocusTrap 
  65.          BackColor       =   &H00C0C0C0&
  66.          Caption         =   "Option1"
  67.          Height          =   255
  68.          Left            =   8700
  69.          TabIndex        =   0
  70.          Top             =   150
  71.          Value           =   -1  'True
  72.          Width           =   225
  73.       End
  74.       Begin CommandButton cButton 
  75.          Caption         =   "Show All"
  76.          Height          =   345
  77.          Index           =   5
  78.          Left            =   6150
  79.          TabIndex        =   6
  80.          Tag             =   "Unhide all ""hidden"" child document forms"
  81.          Top             =   90
  82.          Width           =   1215
  83.       End
  84.       Begin CommandButton cButton 
  85.          Caption         =   "Vertical"
  86.          Height          =   345
  87.          Index           =   4
  88.          Left            =   4950
  89.          TabIndex        =   5
  90.          Tag             =   "Tile vertically all ""visible"" document child forms"
  91.          Top             =   90
  92.          Width           =   1215
  93.       End
  94.       Begin CommandButton cButton 
  95.          Caption         =   "Exit"
  96.          Height          =   345
  97.          Index           =   6
  98.          Left            =   7350
  99.          TabIndex        =   7
  100.          Tag             =   "Exit demonstration"
  101.          Top             =   90
  102.          Width           =   1215
  103.       End
  104.       Begin CommandButton cButton 
  105.          Caption         =   "Horizontal"
  106.          Height          =   345
  107.          Index           =   3
  108.          Left            =   3750
  109.          TabIndex        =   4
  110.          Tag             =   "Tile horizontally all ""visible"" document child forms"
  111.          Top             =   90
  112.          Width           =   1215
  113.       End
  114.       Begin CommandButton cButton 
  115.          Caption         =   "Cascade"
  116.          Height          =   345
  117.          Index           =   2
  118.          Left            =   2550
  119.          TabIndex        =   3
  120.          Tag             =   "Cascade all ""visible"" child document forms"
  121.          Top             =   90
  122.          Width           =   1215
  123.       End
  124.       Begin CommandButton cButton 
  125.          Caption         =   "New"
  126.          Height          =   345
  127.          Index           =   1
  128.          Left            =   1350
  129.          TabIndex        =   2
  130.          Tag             =   "Create new instance of document child form"
  131.          Top             =   90
  132.          Width           =   1215
  133.       End
  134.       Begin CommandButton cButton 
  135.          Caption         =   "Background"
  136.          Height          =   345
  137.          Index           =   0
  138.          Left            =   150
  139.          TabIndex        =   1
  140.          Tag             =   "Toggle between MDI backgrounds"
  141.          Top             =   90
  142.          Width           =   1215
  143.       End
  144.    End
  145.    Begin Menu mMain 
  146.       Caption         =   "&Parent Menu"
  147.       Begin Menu mTest 
  148.          Caption         =   "E&xit"
  149.       End
  150.    End
  151. '---------------------------------------------------------------------------
  152. ' MDI Background Demo Program, Copyright (c) 1994 Karl E. Peterson
  153. ' Redistributed by permission.    CompuServe: 72302,3707
  154. ' See MDIDEMO.BAS for complete description
  155. '---------------------------------------------------------------------------
  156. 'Default behavior
  157.   DefInt A-Z
  158.   Option Explicit
  159. 'Index into toolbar buttons
  160.   Const bBackground = 0
  161.   Const bNew = 1
  162.   Const bCascade = 2
  163.   Const bHorz = 3
  164.   Const bVert = 4
  165.   Const bShow = 5
  166.   Const bExit = 6
  167. 'Variable to track current background
  168.   Dim BackStyle%
  169.   Const HiBackStyle = 7
  170. Sub cButton_Click (Index As Integer)
  171.   FocusTrap.SetFocus
  172.   Select Case Index
  173.     Case bBackground
  174.       'Increment current background
  175.       BackStyle = BackStyle + 1
  176.       If BackStyle > HiBackStyle Then
  177.         BackStyle = 0
  178.       End If
  179.       MDIForm_Paint
  180.     Case bNew
  181.       mdiNew
  182.     Case bCascade
  183.       mdiArrange WM_MDICASCADE
  184.     Case bHorz
  185.       mdiArrange MDITILE_HORIZONTAL
  186.     Case bVert
  187.       mdiArrange MDITILE_VERTICAL
  188.     Case bShow
  189.       mdiShowAll
  190.     Case bExit
  191.       mdiShowAll
  192.       Unload Me
  193.   End Select
  194. End Sub
  195. Sub cButton_MouseMove (Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  196.   'Update status bar
  197.     DisplayStatus (cButton(Index).Tag)
  198. End Sub
  199. Sub MDIForm_Load ()
  200.   'Position form on screen, use 640x480 as target dims
  201.     Dim newWidth%, newHeight%
  202.     newWidth = 640 * Screen.TwipsPerPixelX
  203.     If Screen.Height > 480 * Screen.TwipsPerPixelY Then
  204.       newHeight = 480 * Screen.TwipsPerPixelY
  205.     Else
  206.       newHeight = .9 * Screen.Height
  207.     End If
  208.     Move (Screen.Width - newWidth) \ 2, (Screen.Height - newHeight) \ 2, newWidth, newHeight
  209.   'Position/Resize toolbar panel
  210.     Panel3D1.Height = 2 * cButton(0).Top + cButton(0).Height
  211.     FocusTrap.Move FocusTrap.Width * -3
  212.   'Set up child arrays
  213.     ReDim fDoc(1)    'array of child forms
  214.     ReDim fState(1)  'array to track child state
  215.   'Create first child and clear status bar
  216.     mdiNew
  217.     DisplayStatus ""
  218.   'Setup MsgBlast control
  219.     MsgBlaster1.hWndTarget = (GetWindow(Me.hWnd, GW_CHILD))
  220.     MsgBlaster1.MsgList(0) = WM_PAINT
  221.     MsgBlaster1.MsgPassage(0) = MB_PREPROCESS
  222.     MsgBlaster1.MsgList(1) = WM_ERASEBKGND
  223.     MsgBlaster1.MsgPassage(1) = MB_EATMESSAGE
  224. End Sub
  225. Sub MDIForm_Paint ()
  226. 'Our substitute Paint event (since VB doesn't give us one)
  227.   Select Case BackStyle
  228.     Case 0
  229.       mdiPaintSolid (Me.hWnd), &H400000
  230.       mdiTextOut (Me.hWnd), " Solid Fill ", 10, 10
  231.     Case 1
  232.       mdiBitBltTiled (Picture1.hWnd), (Picture1.hDC), (Me.hWnd)
  233.       mdiTextOut (Me.hWnd), " Tiled Pattern ", 10, 10
  234.     Case 2
  235.       mdiPaintGradiant (Me.hWnd)
  236.       mdiTextOut (Me.hWnd), " Gradiant Fill, Style 1 ", 10, 10
  237.     Case 3
  238.       DoEvents
  239.       mdiPaintTunnel1 (Me.hWnd)
  240.       mdiTextOut (Me.hWnd), " Gradiant Fill, Style 2 ", 10, 10
  241.     Case 4
  242.       DoEvents
  243.       mdiPaintTunnel2 (Me.hWnd)
  244.       mdiTextOut (Me.hWnd), " Gradiant Fill, Style 3 ", 10, 10
  245.     Case 5
  246.       mdiPaintSolid (Me.hWnd), 0&
  247.       mdiBitBltCentered (Picture2.hWnd), (Picture2.hDC), (Me.hWnd)
  248.       mdiTextOut (Me.hWnd), " Centered Bitmap ", 10, 10
  249.     Case 6
  250.       mdiPaintSolid (Me.hWnd), 0&
  251.       mdiStretchBlt (Picture2.hWnd), (Picture2.hDC), (Me.hWnd), True
  252.       mdiTextOut (Me.hWnd), " Stretched (Proportionally) Bitmap ", 10, 10
  253.     Case 7
  254.       mdiStretchBlt (Picture2.hWnd), (Picture2.hDC), (Me.hWnd), False
  255.       mdiTextOut (Me.hWnd), " Stretched (Non-Proportionally) Bitmap ", 10, 10
  256.   End Select
  257. End Sub
  258. Sub MDIForm_Resize ()
  259.   Static LastState%, LastWidth%, LastHeight%
  260.   If LastState = MAXIMIZED Then
  261.     'ensure a repaint (doesn't always happen)
  262.       MDIForm_Paint
  263.   End If
  264.   If Me.WindowState <> MINIMIZED Then
  265.     'rearrange icons
  266.       'mdiArrange WM_MDIICONARRANGE
  267.   End If
  268.   'Ensure a repaint if window was made smaller
  269.     If Me.Width < LastWidth Or Me.Height < LastHeight Then
  270.       MDIForm_Paint
  271.     End If
  272.   'Store new size
  273.     LastState = WindowState
  274.     LastWidth = Me.Width
  275.     LastHeight = Me.Height
  276. End Sub
  277. Sub MDIForm_Unload (Cancel As Integer)
  278.   Dim i%
  279.   For i = Forms.Count - 1 To 0 Step -1
  280.     If Forms(i) Is Me Then
  281.       'do nothing
  282.     Else
  283.       Unload Forms(i)
  284.     End If
  285.   Next i
  286. End Sub
  287. Sub MsgBlaster1_Message (MsgVal As Integer, wParam As Integer, lParam As Long, ReturnVal As Long)
  288.   'The heart and soul of the whole enchilada!
  289.   '(sorry about the mixed metaphor<g>)
  290.   Select Case MsgVal
  291.     Case WM_PAINT
  292.       MDIForm_Paint
  293.     Case WM_ERASEBKGND
  294.       'Eat it!
  295.   End Select
  296. End Sub
  297. Sub mTest_Click ()
  298.   Unload Me
  299. End Sub
  300. Sub Panel3D1_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)
  301.   'Update status bar
  302.     DisplayStatus ""
  303. End Sub
  304.